win32: Record the native event mask in use
authorAlexander Larsson <alexl@redhat.com>
Wed, 19 Oct 2011 19:36:41 +0000 (21:36 +0200)
committerAlexander Larsson <alexl@redhat.com>
Thu, 10 Nov 2011 16:40:54 +0000 (17:40 +0100)
gdk/win32/gdkwindow-win32.c
gdk/win32/gdkwindow-win32.h

index a8f1cbcf308919f5adb70fc5c1c341c266b1690e..db2b04eb607c3d588ba5cae6b88638708beab49c 100644 (file)
@@ -571,7 +571,7 @@ _gdk_win32_display_create_window_impl (GdkDisplay    *display,
   if (!title || !*title)
     title = "";
 
-  window->event_mask = GDK_STRUCTURE_MASK | event_mask;
+  impl->native_event_mask = GDK_STRUCTURE_MASK | event_mask;
       
   if (attributes_mask & GDK_WA_TYPE_HINT)
     gdk_window_set_type_hint (window, attributes->type_hint);
@@ -2028,21 +2028,29 @@ _gdk_windowing_window_at_device_position (GdkDisplay      *display,
 static GdkEventMask  
 gdk_win32_window_get_events (GdkWindow *window)
 {
+  GdkWindowImplWin32 *impl;
+
   if (GDK_WINDOW_DESTROYED (window))
     return 0;
 
-  return window->event_mask;
+  impl = GDK_WINDOW_IMPL_WIN32 (window->impl);
+
+  return impl->native_event_mask;
 }
 
 static void          
 gdk_win32_window_set_events (GdkWindow   *window,
-                      GdkEventMask event_mask)
+                            GdkEventMask event_mask)
 {
+  GdkWindowImplWin32 *impl;
+
+  impl = GDK_WINDOW_IMPL_WIN32 (window->impl);
+
   /* gdk_window_new() always sets the GDK_STRUCTURE_MASK, so better
    * set it here, too. Not that I know or remember why it is
    * necessary, will have to test some day.
    */
-  window->event_mask = GDK_STRUCTURE_MASK | event_mask;
+  impl->native_event_mask = GDK_STRUCTURE_MASK | event_mask;
 }
 
 static void
index 910d73540d44db309ebfa23191f7da77337b28cd..8aad9d3dada82c1b3b1718cbbd0a56c8c606174c 100644 (file)
@@ -65,6 +65,8 @@ struct _GdkWindowImplWin32
   gint hint_flags;
   GdkGeometry hints;
 
+  GdkEventMask native_event_mask;
+
   GdkWindowTypeHint type_hint;
 
   gboolean extension_events_selected;